package com.ingenio.business;

import java.util.Date;
import java.util.List;

import com.ingenio.dao.DetallePedidoAdapter;


public class Pedido {
	
    private Integer IdPedido;
    private Date fechaPedido;
    private Persona persona;
    private EstadoPedido estadoPedido;
    private TipoPedido tipoPedido;
    private Sucursal sucursal;
    private List<DetallePedido> detalle;
        
    public Pedido(){
    	super();
    }
    
    public Pedido(Integer idPedido, Date fechaPedido, Persona persona,
			EstadoPedido estadoPedido, Sucursal sucursal, TipoPedido tipoPedido) {
		super();
		IdPedido = idPedido;
		this.fechaPedido = fechaPedido;
		this.persona = persona;
		this.estadoPedido = estadoPedido;
		this.sucursal = sucursal;
		this.tipoPedido = tipoPedido;
		
    }
    
    public Pedido(Date fechaPedido, Persona persona,
			EstadoPedido estadoPedido, Sucursal sucursal, TipoPedido tipoPedido) {
		super();
		this.fechaPedido = fechaPedido;
		this.persona = persona;
		this.estadoPedido = estadoPedido;
		this.sucursal = sucursal;
		this.tipoPedido = tipoPedido;
		
    }
    
	public List<DetallePedido> getDetalle() {
		return detalle;
	}
	
	public void setDetalle(List<DetallePedido> detalle_pedidos) {
		this.detalle = detalle_pedidos;
	}
	
	public TipoPedido getTipoPedido() {
		return tipoPedido;
	}
	
	public void setTipoPedido(TipoPedido tipoPedido) {
		this.tipoPedido = tipoPedido;
	}
	
	public Integer getIdPedido() {
		return IdPedido;
	}
	
	public void setIdPedido(Integer idPedido) {
		IdPedido = idPedido;
	}
	
	public Date getFechaPedido() {
		return fechaPedido;
	}
	
	public void setFechaPedido(Date fechaPedido) {
		this.fechaPedido = fechaPedido;
	}
	
	public Persona getPersona() {
		return persona;
	}
	
	public void setPersona(Persona persona) {
		this.persona = persona;
	}
	
	public EstadoPedido getEstadoPedido() {
		return estadoPedido;
	}
	
	public void setEstadoPedido(EstadoPedido estadoPedido) {
		this.estadoPedido = estadoPedido;
	}
	
	public Sucursal getSucursal() {
		return sucursal;
	}
	
	public void setSucursal(Sucursal sucursal) {
		this.sucursal = sucursal;
	}
	
	public boolean pedidoCerraro() {
		DetallePedidoAdapter da = new DetallePedidoAdapter();
		List<DetallePedido> detalle;
		try {
			detalle = da.devolverDetalle(this.IdPedido);
			for(DetallePedido dp: detalle){
				if (dp.getEstadoDetalle().getIdEstadoDetallePedido() == 1 || dp.getEstadoDetalle().getIdEstadoDetallePedido() == 3){
					return false;
				}
			}
		} 
		catch (Exception e) {
			e.printStackTrace();
		}
		return true;
	}
}
